/**
 * 图片工具函数
 */

// 从路径获取图片URL
export function getImageUrlFromPath(imagePath) {
  if (!imagePath) {
    return ''
  }
  
  // 如果已经是完整的URL，直接返回
  if (imagePath.startsWith('http://') || imagePath.startsWith('https://')) {
    return imagePath
  }
  
  // 如果是相对路径，添加基础URL
  const baseUrl = import.meta.env.VITE_IMAGE_BASE_URL || ''
  
  // 确保路径以/开头
  const path = imagePath.startsWith('/') ? imagePath : '/' + imagePath
  
  return baseUrl + path
}

// 获取图片预览URL
export function getImagePreviewUrl(imagePath) {
  return getImageUrlFromPath(imagePath)
}

// 检查是否为图片文件
export function isImageFile(filename) {
  if (!filename) return false
  
  const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp', '.svg']
  const ext = filename.toLowerCase().substring(filename.lastIndexOf('.'))
  
  return imageExtensions.includes(ext)
}

// 获取图片文件大小的可读格式
export function formatFileSize(bytes) {
  if (bytes === 0) return '0 Bytes'
  
  const k = 1024
  const sizes = ['Bytes', 'KB', 'MB', 'GB']
  const i = Math.floor(Math.log(bytes) / Math.log(k))
  
  return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]
}